package com.cskaoyan._19collection._04api;

import org.junit.Test;

import java.util.ArrayList;
import java.util.Collection;

/**
 * @author Macro_Ray
 * @since 2024/3/29 11:17
 */
public class Demo1 {
    // 删除
    @Test
    public void test() {
        // boolean remove(Object o)：删除指定元素，如果元素存在，返回true，否则返回false
        // 删除第一个出现的
        Collection<String> collection = new ArrayList<>();
        collection.add("茶颜悦色");
        collection.add("喜茶");
        collection.add("奈雪的茶");
        collection.add("茶颜悦色");
        collection.add("霸王茶姬");
        collection.add("茶颜悦色");

        collection.remove("茶颜悦色");
        System.out.println(collection);

        collection.remove("霸王茶姬");
        System.out.println(collection);

    }


    @Test
    public void test2() {
        // boolean removeAll(Collection<?> c)：删除指定集合中的所有元素，如果所有元素都存在，返回true，否则返回false
        // A.removeAll(B)：删除A集合中的所有B元素
        Collection<String> collection1 = new ArrayList<>();
        collection1.add("茶颜悦色");
        collection1.add("喜茶");
        collection1.add("奈雪的茶");
        collection1.add("茶颜悦色");
        collection1.add("霸王茶姬");
        collection1.add("茶颜悦色");

        Collection<String> collection2 = new ArrayList<>();
        collection2.add("霸王茶姬");
        collection2.add("奈雪的茶");

        collection1.removeAll(collection2);
        System.out.println(collection1);
    }

    @Test
    public void testContainsAll() {
        // boolean containsAll（collection<?>c）：判断给定的collection中是否全部存在于目标Collection
    }

    @Test
    public void testRetainAll() {
        // boolean retainAll（collection<?>c）：将原有collection只保留传入的collection。
    }
}
